﻿class Solution
{
public:
	bool vis[210] = { 0 }; // ⽤来标记当前位置是否已经搜索过 
	int citys(vector<vector<int> >& m)
	{
		int n = m.size();
		int ret = 0;
		for (int i = 0; i < n; i++)
		{
			if (!vis[i])
			{
				ret++;
				dfs(m, i);
			}
		}
		return ret;
	}
	void dfs(vector<vector<int> >& m, int pos)
	{
		vis[pos] = true;
		for (int i = 0; i < m.size(); i++)
		{
			if (!vis[i] && m[pos][i])
			{
				dfs(m, i);
			}
		}
	}
};